<!DOCTYPE doctype PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">

<HTML>
  <HEAD>
    <META name="generator" content=
    "HTML Tidy for Java (vers. 2009-12-01), see jtidy.sourceforge.net">

    <TITLE>Debugger: Interpreters</TITLE>
    <META http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <LINK rel="stylesheet" type="text/css" href="help/shared/DefaultStyle.css">
  </HEAD>

  <BODY lang="EN-US">
    <H1><A name="plugin"></A><A name="interpreter"></A>Debugger: Interpreters</H1>

    <P><IMG alt="" src="help/shared/note.png">This window only supports the older "Recorder-based"
    targets. For newer "TraceRmi-based" targets, the actual debugger runs in an integrated VT-100
    terminal emulator.</P>

    <P>For debuggers which have built-in interpreters (many do), and whose connectors expose that
    interpreter in the model, the interpreters plugin can provide user access to it via a graphical
    console. The plugin leverages the existing interpreter console framework in Ghidra, so the
    interface should be relatively familiar. Typically, the console is accessed via the Objects
    window's <A href=
    "help/topics/DebuggerObjectsPlugin/DebuggerObjectsPlugin.html#console">Console</A> action.
    Output is displayed in a large text field, and user input is taken via a small text field at
    the bottom. The prompt, commands, and outputs are all defined by the connector.</P>

    <H2>Actions</H2>

    <P>Each interpreter console has the following actions:</P>

    <H3><A name="Clear_Interpreter"></A>Clear Interpreter</H3>

    <P>This action is always available. It clears the console's output buffer.</P>

    <H3><A name="Remove_Interpreter"></A>Remove Interpreter</H3>

    <P>This action appears when the target's interpreter is no longer valid, i.e., the connection
    was closed. It permanently closes the console. Note this action can only appear if this console
    was pinned.</P>

    <H3><A name="pin"></A>Pin Interpreter</H3>

    <P>This action is always available. Normally interpreter consoles are permanently closed
    immediately upon the associated target interpreter becoming invalid, i.e., the connection was
    closed. Pinning an interpreter keeps it open, but in a disabled state, so that the buffer can
    be examined after invalidation.</P>

    <H3><A name="interrupt"></A>Interrupt</H3>

    <P>This action is always available. It interrupts the current target's execution.</P>
  </BODY>
</HTML>
